535 Commits

Author SHA1 Message Date
Akkadius
ec00daa5be Mob position updates now completely only send to 600 units range defined by Range:MobPositionUpdates
Client updates nearby clients more often because they will disappear after 10 seconds without a position update to the client
This results in a massive reduction in unnecessary traffic as we only update clients of their relevance around them
This also resembles live-like packet sending behavior of positions
2017-07-10 23:03:40 -05:00
Akkadius
122e71f4a3 Fix HP/Mana/Endurance updates for group/raids when entering-leaving zone and when initially being added to group/raid 2017-07-10 20:40:32 -05:00
Michael Cook (mackal)
f164833b00 Adventure Merchants don't change heading either 2017-06-24 15:07:58 -04:00
KimLS
31d8336b4b Fix acceptmessages, added exp hooks to luamods 2017-06-10 15:12:31 -07:00
Michael Cook (mackal)
6bdcfaaa71 Forgot ST_SummonedPet 2017-05-18 12:59:23 -04:00
Michael Cook (mackal)
5eba112b7a Fix Crash introduced in last patch 2017-05-18 12:57:04 -04:00
Michael Cook (mackal)
5865948a8b Fix ST_Pet item/AA casts
Modern clients don't require the pet to be targeted
2017-05-17 15:20:27 -04:00
Michael Cook (mackal)
82776deb89 Pet commands only reply to master now (except leader) 2017-05-05 23:52:54 -04:00
Michael Cook (mackal)
d6b61b9163 Implement pet regroup
Tweaks to stop as well
2017-05-04 23:48:47 -04:00
Michael Cook (mackal)
0e96e6689a Pet stop does not clear aggro 2017-05-04 23:08:46 -04:00
Michael Cook (mackal)
fe9fb72dff Update pet command messages 2017-05-04 22:55:17 -04:00
Michael Cook (mackal)
7e2136a5a8 Implement Pet Command Stop 2017-05-04 22:28:48 -04:00
Michael Cook (mackal)
9f8ad1a32c Fix pets ghosting if moving when you hit guard 2017-05-04 20:23:42 -04:00
Michael Cook (mackal)
15d81eee21 Remove unnecessary CastToNPC in PetCommands 2017-05-04 19:42:13 -04:00
Michael Cook (mackal)
84bcb3ac03 Use PetCommands SPA instead of GetAA 2017-05-04 17:48:32 -04:00
Michael Cook (mackal)
8435fa269d Pet Command hack for UF+ 2017-05-04 01:39:24 -04:00
Michael Cook (mackal)
9229ca4f79 Add OP_PetCommandState for ghold/hold 2017-05-04 00:27:42 -04:00
Michael Cook (mackal)
b3d8bcab4a More pet command changes
Tweaks to attack
Initial implementation of ghold
Tweaks to hold
2017-05-03 23:41:06 -04:00
Michael Cook (mackal)
14c9ddf15a Change pet attack to be live like
Classic behavior will be restored as a rule at a later date
2017-05-03 17:27:29 -04:00
Michael Cook (mackal)
3ca8ddbff1 Nuke PET_SLUMBER since they're wrong 2017-05-03 17:05:58 -04:00
Michael Cook (mackal)
baca139f9b /pet leader should only cause NPCs to respond
Client also checks if it's an NPC so we got other bugs here ...
Shouldn't ever be sending this packet with a client targeted ...
2017-05-03 16:35:04 -04:00
Michael Cook (mackal)
cfd1b9a5ee SoS message is only if they would otherwise see you 2017-04-28 13:52:16 -04:00
Michael Cook (mackal)
89587970dd Add invis messages 2017-04-28 13:37:54 -04:00
Michael Cook (mackal)
4ab420ed99 Quick fix for RoF+ AugDistiller 0
This needs more work, but it works for now
2017-04-27 13:36:02 -04:00
KimLS
004c0f7858 Merge fix 2017-04-15 12:18:50 -07:00
E Spause
cb8c3595b7 SoF-era con system. New rule, UseOldConSystem to disable this functionality. 2017-04-15 13:06:46 -04:00
Michael Cook (mackal)
1e61252445 Whoops 2017-04-13 13:28:18 -04:00
Michael Cook (mackal)
53978f0ef9 Exclude client pets from MQ2 target detection
Probably could use some PVP rules but what do I know :P
2017-04-13 13:27:55 -04:00
Michael Cook (mackal)
3098b11080 Limit scale check to only scaling items 2017-04-13 13:26:51 -04:00
Michael Cook (mackal)
6b8c39d388 Disable charm clicks at <= 0 2017-04-13 13:23:53 -04:00
Akkadius
474f59e269 Re-add variable client aggro scanning timers missing from merge 2017-04-12 16:44:49 -05:00
KimLS
281483efc1 Merge of a monster 2017-04-02 20:03:51 -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
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
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
f77f996c3f Pass through zone code to fix uninitialized pointer declarations 2017-03-23 04:35:36 -04:00
KimLS
159706efa9 Merge branch 'master' into eqstream 2017-03-12 18:39:15 -07:00
Akkadius
ab372b0f6b - Implemented range rules for packets and other functions
RULE_INT ( Range, Say, 135 )
	RULE_INT ( Range, Emote, 135 )
	RULE_INT ( Range, BeginCast, 200)
	RULE_INT ( Range, Anims, 135)
	RULE_INT ( Range, SpellParticles, 135)
	RULE_INT ( Range, DamageMessages, 50)
	RULE_INT ( Range, SpellMessages, 75)
	RULE_INT ( Range, SongMessages, 75)
	RULE_INT ( Range, MobPositionUpdates, 600)
	RULE_INT ( Range, CriticalDamage, 80)

 - (Readability) Also cleaned up some formatting in messaging and packets so it is easier to understand what is going on with the code
2017-03-12 16:10:53 -05:00
Akkadius
14d09485eb Implement new rule based ranges for various range based packet operations (performance)
- the defaults are set in the code and can be tweaked by sourcing utils/sql/git/optional/rule_values_range_update.sql
- Thanks to mackal for gathering live ranges, thanks to takp for initial numbers
- We would send 200 for combat updates and the client will only display <= range 54 anyways, these should help a lot in spammy combat

RULE_CATEGORY( Range )
RULE_INT ( Range, Say, 135 )
RULE_INT ( Range, Emote, 135 )
RULE_INT ( Range, BeginCast, 200)
RULE_INT ( Range, Anims, 135)
RULE_INT ( Range, DamageMessages, 50)
RULE_INT ( Range, SpellMessages, 75)
RULE_INT ( Range, SongMessages, 75)
RULE_CATEGORY_END()
2017-03-12 14:38:14 -05:00
KimLS
73dc6b090b Merge remote-tracking branch 'origin' into eqstream 2017-03-11 14:51:33 -08:00
Drajor
f26b7a4adc Hacky fix for quantity wrapping when stacked items are sold that have a quantity greater than 255. A better solution will need to implemented long term 2017-03-08 06:22:17 +10:00
Uleat
2690d8fed8 Added inspect buff cases for bots (ZombieSoul) 2017-03-03 17:51:02 -05:00
KimLS
0d1e63c92a Merge remote-tracking branch 'origin/master' into eqstream 2017-02-25 15:31:40 -08:00
Michael Cook (mackal)
7621bf47c8 Quick fix to resolve some serious group issues
Group leader swapping didn't work and left the client in a bad state
This just disbands the group if the leader leaves

Also prevents a group leader from disbanding other groups ...
Which also lead to bad states

Group leader swapping not working is better than these issues :P
2017-02-24 01:12:46 -05:00
KimLS
d402b25d69 Merge fix 2017-02-21 21:20:33 -08:00
Drajor
7db82a3b14 Fixes issue with calculating the value of items being sold. The loop was starting at 0 instead of 1. 2017-02-22 06:26:49 +10:00