89 Commits

Author SHA1 Message Date
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
7dbde36b03 Rename reference logger to Log 2015-01-18 00:41:18 -06:00
Akkadius
d490209c9e Convert skill mlog call 2015-01-17 02:52:30 -06:00
Akkadius
6a567288ae port mlog 'Combat' category to new log system 2015-01-17 02:22:53 -06:00
KayenEQ
999a6501e0 Fix for spell projectiles (target type 1) being applied as melee damage.
Resolves those random 1 million damage hits that have been reported
2015-01-09 22:33:41 -05:00
Akkadius
73fe229e25 More hate changes 2014-12-27 20:23:49 -06:00
KayenEQ
cd33307975 NPC ranged attack projectiles will now do damage on impact.
Uses same rule as the client version.
2014-12-17 10:59:23 -05:00
KayenEQ
fc306bbc1d Fix for special attack NPC_CHASE_DISTANCE to now work correctly
Perl export: NPC GetAttackDelay
Perl export: NPC GetAvoidanceRating
Perl export: NPC AddMeleeProc
Special Attacks will no longer be able to hit immune to melee / bane only flagged NPCs.
2014-12-16 18:53:15 -05:00
Akkadius
b945729d1a special_attacks.cpp header cleanup 2014-12-15 18:46:41 -06:00
KayenEQ
8df6e7e26b ADD FD check before adding projectile generated hate. 2014-12-08 18:44:37 -05:00
KayenEQ
921433f998 Range attack clean up, prevent possible nullptr checks. 2014-12-05 03:47:41 -05:00
Michael Cook (mackal)
0a8f3554e9 Merge branch 'master' into random 2014-12-04 13:07:32 -05:00
KayenEQ
052b41fbb2 Ranged attacks will now much more accurately calculate max distance server side
via accounting for differences in attacker/target size. This
fixes a very common issue of player hitting range attack and
nothing happening due to server improperly calculating
max range.
2014-12-04 02:40:51 -05:00
Michael Cook (mackal)
bc53ca3b71 Merge branch 'master' into random 2014-12-03 16:13:39 -05:00
Akkadius
ff5eb54331 Merge pull request #307 from KayenEQ/Development
Projectile code fix.
2014-12-03 11:53:53 -06:00
Michael Cook (mackal)
dc0eb0f6b5 Merge branch 'master' into random
Conflicts:
	zone/command.cpp
	zone/merc.cpp
2014-12-02 14:05:55 -05:00
Michael Cook (mackal)
525eb518f6 Crash fix, this check got removed accidentally 2014-12-02 13:44:23 -05:00
KayenEQ
70dd447156 Fix for error introduced in projectile update for throwing/archery
to do hit chance check 2x resulting in much greater chance to miss.
2014-12-02 03:42:35 -05:00
Michael Cook (mackal)
395be050a3 Switch random function to std::mt19937
Added class EQEmu::Random
Functions:
EQEmu::Random::Int(int low, int high)
EQEmu::Random::Real(double low, double high)
EQEmu::Random::Roll(int required)
EQEmu::Random::Roll(double required)
EQEmu::Random::Reseed()

For zone, you will access the random object through the zone object
ex.
	zone->random.Int(0, 100);

Int returns a random int between low and high
Real returns a random double between low and high
Roll(int) returns true if Int(0, 99) < required is true
Roll(double) returns true if Real(0.0, 1.0) <= required is true
2014-12-01 18:13:12 -05:00
KayenEQ
8dfd61bbcf fix 2014-11-30 01:58:23 -05:00
KayenEQ
e04496188b Spell Projectiles have been revamped to use new system. 2014-11-30 01:43:51 -05:00
KayenEQ
ad2fd9e4d5 update to projectile move check 2014-11-29 21:10:51 -05:00
KayenEQ
e8ae28b439 Merge git://github.com/EQEmu/Server into Development 2014-11-29 20:56:13 -05:00
akkadius
35e9c3ad98 special_attacks.cpp #include clean 2014-11-29 05:22:27 -06:00
KayenEQ
3d83f647bf Implemented projectile on impact for Throwing 2014-11-28 07:08:28 -05:00
KayenEQ
67863e364b fix 2014-11-28 05:46:23 -05:00
KayenEQ
ac0933719a Sanity check added before calculating distance. 2014-11-28 05:42:36 -05:00
KayenEQ
28ad768c0a fixes 2014-11-28 01:05:57 -05:00
KayenEQ
6b45b2bc52 Fix for better ammo slot sync check. 2014-11-27 23:14:49 -05:00
KayenEQ
191aa575f8 Projectiles (ie Arrows) fired from an archery attacks will do damage upon
actually hitting the target, instead of instantly when fired. Consistent
with live.

Optional SQL added to disable this.

Throwing will be implemented in a future update.
2014-11-27 22:12:13 -05:00
KayenEQ
5c0fbac7b0 Removal of 2x numhits outgoing hit success call from special attack. 2014-11-23 21:41:05 -05:00
KayenEQ
51a3302288 Few more minor compilier warnings and code clean up. 2014-11-02 00:43:01 -04:00
Michael Cook (mackal)
1dfd3349b7 Add Master Wu message 2014-10-01 01:15:08 -04:00
Michael Cook (mackal)
3be7d45d36 Revamp attack delays / hastes / slows based on dev quotes
See changelog
2014-09-27 23:14:11 -04:00
Michael Cook (mackal)
6c3d5c713c Fix slow effect on NPC special attack reuse timers 2014-09-09 15:34:30 -04:00
Michael Cook (mackal)
f16beddf6e Increase NPC bash/kick delay by 3 (8 total by default) 2014-09-09 15:32:02 -04:00
Alex
8f3e9b4a7a Merge pull request #218 from KayenEQ/Development
Implemented NPC special ability 40 'NPC_CHASE_DISTANCE'
2014-08-24 11:17:52 -07: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
KayenEQ
85df09b3f2 Implemented NPC special ability 40 'NPC_CHASE_DISTANCE'
Param 0: Sets max distance you need to be away from an npc for it to chase you.
Param 1: Sets min distance you need to be from npc for it to chase you.
Usage: Ideally used with ranged attack npcs / casters who you DO NOT WANT
to chase you unless you get too close or too far or out of sight.
2014-08-23 03:21:36 -04:00
KimLS
85bd837a66 Merge branch 'Development' of https://github.com/KayenEQ/Server into KayenEQ-Development 2014-08-22 00:21:11 -07:00
KimLS
07a2cbe9a5 Renamed zone files 2014-08-21 23:46:01 -07:00
KayenEQ
8394cc9e2b Fix for NPC ranged attacks not allowing for multiple hits
if set by special attack 11, also changed paramater 0 (which was
incorrectly set as both 'amount of attacks' and 'min range'
0 = amount attacks
4 = min attack range

Fix to spell directional effect targeting.
2014-08-22 00:35:14 -04:00
KimLS
7fc21b9e3a Tons of renames 2014-08-21 19:33:02 -07:00
Arthur Ice
0f6ce6a1f4 Upstream merge 2014-07-30 14:46:02 -07:00
Uleat
36a2d52f1c More 'dictionary' updates..added 'constants' files to client translators..started replacement of hard-coded inventory values. 2014-07-27 20:35:43 -04:00
KayenEQ
089360a3a5 merge 2014-07-18 17:00:39 -04:00
Uleat
d7c2d6108f Added the initial references for two new dictionaries - EmuConstants and EQLimits..more to come. 2014-07-16 21:23:16 -04:00
KayenEQ
965bb039be Updates to npc_spells and npc_types table.
Implemented innate defensive and range procs
Implemented ability to fine tune AI casting behavior/timers
Global rules for AI casting behavior/timers
NPC Ranged attack updates, set skill and ammo type in npc_types
Various clean ups in attack related functions.
Other minor fixes.
See Change Log, +required, +optional SQL
2014-07-10 22:46:39 -04:00