5883 Commits

Author SHA1 Message Date
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
Uleat
e5e801dad5 Merge branch 'master' of https://github.com/EQEmu/Server 2017-04-01 23:00:24 -04:00
Uleat
ea50543ffa First round fix for non NPC-on_NPC action 2017-04-01 23:00:16 -04:00
KimLS
9750d09635 Change default settings and removal of unacked packets for now 2017-04-01 17:25:48 -07:00
Michael Cook (mackal)
773932d8f6 Whoops 2017-04-01 17:55:17 -04:00
Michael Cook (mackal)
c5e7b18637 Exclude client pets from MQ2 target detection
Probably could use some PVP rules but what do I know :P
2017-04-01 17:50:27 -04:00
Uleat
160cd609bf Merge branch 'master' of https://github.com/EQEmu/Server 2017-04-01 17:40:27 -04:00
Uleat
60d2c703b6 Hack fix for an outdated inventory function 2017-04-01 17:40:18 -04:00
Michael Cook (mackal)
484e60f142 Use do-while(0) trick for function like macros 2017-04-01 16:46:23 -04:00
Michael Cook (mackal)
de52d2f64a You can skill yourself up in languages
This is very easy to test with mercs now
2017-04-01 14:26:35 -04:00
Akkadius
52a43a3edb Fix Travis 2017-04-01 03:59:24 -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
Michael Cook (mackal)
93a6efa95f Limit scale check to only scaling items 2017-03-31 14:41:45 -04:00
Michael Cook (mackal)
e510608a3f Disable charm clicks at <= 0 2017-03-31 14:30:17 -04:00
Michael Cook (mackal)
9f199100e5 Initialize Client::Haste
Apparently it was possible to get this value referenced before CalcBonuses was
called leading to bad values being used.
2017-03-31 13:13:28 -04:00
Michael Cook (mackal)
4666c0c050 Don't go below 1 for caster level
This is also wrong as fuck.
2017-03-30 23:29:07 -04:00
Michael Cook (mackal)
b5fe975aac Fix Lua GetPet/GetOwner 2017-03-30 21:46:28 -04:00
Akkadius
a801f296b5 Merge branch 'master' of https://github.com/EQEmu/Server 2017-03-30 05:23:19 -05:00
Akkadius
9d0308c9bf [Performance] Fixed an overhead issue where many hot paths would trigger quest subroutines and beneath that the code would try to see if a quest existed perpetually (checking if file exists) even though it should have determined the quest didn't exist the first time.
- This caused a lot of overhead in an instance where an entire zone of NPC's is pathing, triggering EVENT_WAYPOINT_ARRIVE and EVENT_WAYPOINT_DEPART when there is no global_npc.pl/lua, or all NPC's pathing don't have a quest assigned, similar behavior would occur. This goes for any other type of quests: spells, items, encounters etc.
2017-03-30 05:22:47 -05:00
Michael Cook (mackal)
38e5cdb142 Reflect actually changes the caster
Or it at least changes the target of the recourse
2017-03-30 01:23:06 -04:00
Michael Cook (mackal)
c67c303d0a Well, you can reflect NPC only spells...
Also unsure if single target limit is correct ...
2017-03-30 01:19:29 -04:00
Uleat
f5f2cbc674 Fix for bot loss of aggro to client regardless of hate 2017-03-29 17:45:56 -04:00
Uleat
f1bfd129af Merge branch 'master' of https://github.com/EQEmu/Server 2017-03-29 15:10:05 -04:00
Uleat
34b50e0458 Excluded SE_AddFaction from bard instrument mod [fixes #589] 2017-03-29 15:09:40 -04:00
Akkadius
af9a34e4e7 [Performance] Slow dynamic zones down when no clients are in them 2017-03-28 21:10:57 -05:00
Akkadius
01d7a2a0a7 Merge branch 'master' of https://github.com/EQEmu/Server 2017-03-28 19:07:30 -05:00
Uleat
8f9ac2c9ba Fix for bots db update circular reference in manifest [skip ci] 2017-03-28 19:11:20 -04:00
Akkadius
fe8e907b08 [Performance] Remove unecessary log calls from EQStream hot paths (read/write) 2017-03-28 15:52:51 -05:00
Akkadius
a06d5fab89 [Performance] Adjust HP marquee call checks 2017-03-28 15:49:13 -05:00
Michael Cook (mackal)
138ad99eea Make lua Get*List entity_list functions less silly 2017-03-28 14:31:10 -04:00
Michael Cook (mackal)
d5004dfd55 Use better GetNPCList function for close_npcs 2017-03-28 13:45:41 -04:00
Michael Cook (mackal)
eee8b0bf23 Add some const & GetList entity functions 2017-03-28 13:45:20 -04:00
Akkadius
d777b1048d [Performance] Don't process ProjectileAttack checks for NPC's that are not engaged in any combat 2017-03-28 03:05:46 -05:00
Akkadius
f931ef7bcb [Performance] Disabled enraged timer checks for NPC's that do not actually have enrage as a special attack 2017-03-28 02:45:07 -05:00
Akkadius
47691c2102 [Performance] Removed a timer where clients would constantly calculate light amount on equipment every 600ms, instead clients will update light when changing equipment or entering a zone 2017-03-28 02:36:51 -05:00
Akkadius
bf45a5a44f [Performance] Fixed a large overhead issue where every single NPC in a zone was checking to depop themselves
as a swarm pet every 3ms regardless of being a swarm pet or not. Swarm pets now check to depop only when their timer is up
2017-03-28 02:30:06 -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
KimLS
de777fc90f Merge fix 2017-03-26 17:25:01 -07:00
Uleat
940f3b03e8 Fix for bot shadowknights casting ranger spells 2017-03-26 16:19:53 -04:00
Uleat
05e97f4c64 Oops! (don't attempt a commit when you have to go to the restroom...) 2017-03-26 13:51:03 -04:00
Uleat
8febc906a5 Merge branch 'master' of https://github.com/EQEmu/Server 2017-03-26 13:41:23 -04:00
Uleat
7309c11630 Updated glm library to 0.9.8.4 (from 0.9.6.1) 2017-03-26 13:41:14 -04:00
Akkadius
aa25946dc2 [Performance] Reduced CPU footprint in cases where a client is checking for aggro excessively every 750 millseconds. This has
been adjusted to 6 seconds per new rule RULE_INT(Aggro, ClientAggroCheckInterval)
	- When zones have many players, with many NPC's, this adds up quickly
2017-03-26 00:03:51 -05:00
Akkadius
719098a97c [Performance] Reduced CPU footprint in non-combat zones doing constant checks for combat related activities 2017-03-25 23:32:49 -05:00
Uleat
9e41795594 Test fix for heal rotations crashing server surrounding player zoning 2017-03-25 15:44:38 -04:00
Uleat
f77f996c3f Pass through zone code to fix uninitialized pointer declarations 2017-03-23 04:35:36 -04:00
Akkadius
8bdefa17b5 Fix README.md 2017-03-22 13:39:12 -05:00
Uleat
e8a8647424 Fix for bots db update 9015 not triggering where update 9011 has not applied 2017-03-22 03:45:50 -04:00
Michael Cook (mackal)
1e1de3a48a Fix error 2017-03-20 19:49:35 -04:00
Michael Cook (mackal)
0ac70c5459 SE_Taunt is a flat chance not a bonus to taunt chance 2017-03-20 19:45:26 -04:00