140 Commits

Author SHA1 Message Date
KimLS
f46e4f9aa4 Some tweaks so its harder to get npcs intentionally stuck 2018-05-20 17:24:00 -07:00
Uleat
8805021960 Re-worked Bot::AI_Process(); Added 'leash,' 'main assist' and 'combat abort' features 2018-01-31 19:31:09 -05:00
Michael Cook (mackal)
aa1114c387 Rename Client::zoning to Client::bZoning 2018-01-17 21:37:24 -05:00
Michael Cook (mackal)
4e9c3e19d2 Fix some XTarget FD issues 2017-10-16 01:25:14 -04:00
E Spause
cb8c3595b7 SoF-era con system. New rule, UseOldConSystem to disable this functionality. 2017-04-15 13:06:46 -04:00
Akkadius
d7dfc18c54 Cleaned up some of the NPC to NPC aggro code, only do aggro checks to other NPC's when the NPC is flagged for it 2017-04-01 23:16:27 -05:00
Akkadius
7aa1d243b0 [Performance] Reworked how all log calls are made in the source, see changelog.txt for more details 2017-04-01 03:51:46 -05:00
Akkadius
4b6ce1c19e [Performance] Reworked how client to NPC aggro checks are made
- Before when reverse aggro checks were done (client to NPC), checks would happen every 750 millseconds where a client would
		check an entire entity list with distance calcs and other checks for aggro, with many clients in a zone and many NPC's this would
		add a lot of unecessary overhead. A temporary adjustment on 3/25 was made and upped the check to 6 seconds.
	- Now, there is a new methodology to scanning. The client will build a cache list of NPC's within close range as defined in new rule:
		RULE_INT(Range, ClientNPCScan, 300) and will also get any NPC that has an aggro range beyond that defined range to use in
		the frequent checks for aggro, the result is far less overhead
	- Client scanning changes when moving versus not moving, the client will scan aggro every 500 milliseconds while moving, and
		3000 millseconds aggro check when not moving, with a 6000ms re-fetch for close NPC's
	- A demo of these changes can be found here:
		https://youtu.be/aGroiwLSTVU
2017-03-28 01:30:42 -05:00
Uleat
f77f996c3f Pass through zone code to fix uninitialized pointer declarations 2017-03-23 04:35:36 -04:00
Michael Cook (mackal)
31907382c8 Lets not aggro zonign clients 2017-02-25 02:21:48 -05:00
Michael Cook (mackal)
5a08e0ffd9 Adjust Rogue Evade drop
Live seems to be inconsistent with how much hate is dropped, but I parsed
~69% drop on the highest and ~39% for the lowest. So round to 70 and 40.

It was also fairly obvious there was a min hate it could drop you to,
which parsed out to ~100 hate.
2016-11-16 02:36:20 -05:00
Michael Cook (mackal)
1d12f92934 Level 50+ NPCs will now respond to yells for help regardless of con color 2016-08-04 20:36:15 -04:00
Michael Cook (mackal)
e89fa01d89 Port Aggro:UseLevelAggro from EQMacEmu
This will make level 18+ mobs braver
2016-08-04 20:33:29 -04:00
Michael Cook (mackal)
60da544d3a clang-tidy modernize-use-auto 2016-05-25 16:10:28 -04:00
Michael Cook (mackal)
03592e58f9 Port EQMacEmu's Assist Aggro code
This code also allows you to toggle on Tick Pulling (Aggro:AllowTickPulling)
which was a pulling technique (exploit) fixed sometime in 2006

This code also implements assist caps to cut down on trains (5 by default)
Unsure if live what this number is (it exists) or if it's a per NPC basis

An NPC with Assist Aggro will not call for help, only NPCs with Primary Aggro will
2015-12-18 17:41:57 -05:00
Michael Cook (mackal)
f8867ea73d Bump up initial aggro from Yell for Help to match initial aggro
I guess I forgot this one
2015-12-18 13:46:05 -05:00
Akkadius
ce0011ab18 Renaming of some timers 2015-11-01 17:12:14 -06:00
KayenEQ
20bdbdd52d Implemented spells_new field 198 = no_detrimental_spell_aggro
Spells with this flag will not generate any aggro
Note: DOT portions of spells wilth this flag STILL generate aggro.
Example Harminous Arrow (Ranger AA) 16127
2015-10-08 16:05:14 -04:00
KayenEQ
c35eacbc99 Update/Implementation of various fields in spells_new
219 not_extendable - > not_focusable - No focus are applied to these spells
217 maxtargets -> no_heal_damage_item_mod - Not applied to these spells.
232 -> no_remove -> Can not click off these spells even if beneficial
209 powerful_flag -> no_resist -> Unresistable spell
2015-10-08 11:49:21 -04:00
Michael Cook (mackal)
211462456c More hate fixes
Refix double spell casting subtlety
Fix double spell casting subtlety for beneficial spells
Move 100 initial bonus to AddToHateList so melee get it as well
Lower prox aggro since the 100 bonus is in AddToHateList now
2015-09-17 01:46:40 -04:00
Michael Cook (mackal)
43586a33cd Port PROX_AGGRO from EQMacEmu
If this ability is set, the NPCs will continuously add things to their
hate list while their engaged. If it's not set (default) they won't,
which is what the vast majority of NPCs do on live.
2015-08-26 16:20:56 -04:00
Michael Cook (mackal)
fb4cc70999 Correct some Aggro calcs
See updated post: http://www.eqemulator.org/forums/showthread.php?t=39819

Aggro:MaxStunProcAggro renamed to Aggro:MaxScalingProcAggro
2015-07-22 16:31:38 -04:00
Michael Cook (mackal)
c91374444b Fix bard song hate 2015-07-18 01:01:27 -04:00
Michael Cook (mackal)
be16e558ff Fix Spell Casting Subtlety for offensive spells 2015-07-18 00:58:02 -04:00
Michael Cook (mackal)
a52ab7ae48 Rework spell aggro based on http://www.eqemulator.org/forums/showthread.php?t=39819<F37> 2015-07-16 22:38:32 -04:00
JJ
96925f0dde Some minor cleanup. [skip ci] 2015-01-31 17:03:44 -05:00
KayenEQ
e8553576f7 remove debug 2015-01-30 19:28:16 -05:00
KayenEQ
867b57bcf6 removed debug msg 2015-01-30 19:21:24 -05:00
KayenEQ
ccbaf337f4 Fix for minimum charm and root resist chances (was always returning 0).
Fix for pacification not doing a proper second resist check upon resisting intial pacification.
2015-01-30 18:47:27 -05:00
KimLS
17af9e3808 Merge fixes, hopefully didn't break anything. 2015-01-23 13:36:27 -08:00
KimLS
269d56e1d0 Switched out our kinda juryrigged vector types for glm::vec types since we use that as a 3d math library already but never switched out the types 2015-01-23 00:01:10 -08:00
Michael Cook (mackal)
f702e953e7 Some std::abs usage and a bit of clang-formatting 2015-01-22 22:59:52 -05:00
Akkadius
c5447778a6 Merge remote-tracking branch 'remotes/origin/master' into logging_changes
Conflicts:
	world/client.cpp
	world/worlddb.cpp
	zone/aggro.cpp
	zone/bot.cpp
	zone/client.cpp
	zone/client_packet.cpp
	zone/client_process.cpp
	zone/doors.cpp
	zone/entity.cpp
	zone/inventory.cpp
	zone/mob_ai.cpp
	zone/perl_client.cpp
	zone/spells.cpp
	zone/waypoints.cpp
	zone/zone.cpp
	zone/zonedb.cpp
	zone/zoning.cpp
2015-01-21 17:29:30 -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
7dbde36b03 Rename reference logger to Log 2015-01-18 00:41:18 -06:00
Akkadius
58d0b86a67 Consolidate EQEmuLogsys::Debug General calls into DebugCategory 2015-01-18 00:00:03 -06:00
Arthur Ice
262ae383c9 Removed a usage of Mob::DistNoRoot and used ComparativeDistance instead 2015-01-17 18:15:48 -08:00
Arthur Ice
64bd24d5f9 Removed a usage of Mob::DistNoRoot and used ComparativeDistance instead 2015-01-17 18:13:34 -08:00
Arthur Ice
f79bad8b4b Removed a usage of Mob::DistNoRoot and used ComparativeDistance instead 2015-01-17 18:09:43 -08:00
Arthur Ice
f43bf5542f Removed a usage of Mob::DistNoRoot and used ComparativeDistance instead 2015-01-17 18:07:16 -08:00
Arthur Ice
254ec5997c Removed a usage of Mob::DistNoRoot and used ComparativeDistance instead 2015-01-17 18:05:03 -08:00
Arthur Ice
f1937335dd Removed a usage of Mob::DistNoRoot and used ComparativeDistance instead 2015-01-17 18:01:20 -08:00
Arthur Ice
eb2eaa4d68 Removed a usage of Mob::DistNoRoot and used ComparativeDistance instead 2015-01-17 17:57:36 -08:00
Akkadius
132fbbb0c6 Rename LogDebugType to DebugCategory 2015-01-16 03:09:02 -06:00
Akkadius
4851fe1791 Converted more Aggro Debugs 2015-01-16 02:07:19 -06:00
Akkadius
f760597684 Removed preprocessor EQDEBUG in CheckWillAggro and converted log message 2015-01-16 02:06:22 -06:00
Akkadius
dadae1a71f Replaced Debug messages: LogFile->write with logger.LogDebug 2015-01-10 15:26:38 -06:00