351 Commits

Author SHA1 Message Date
Michael Cook (mackal)
ae966e546b WIP for NPC spell push, off by default for now 2018-03-07 16:50:24 -05:00
Michael Cook (mackal)
8f66527e02 Add TryMoveAlong(distance, angle)
This will take a distance you would like to move and an EQ angle you
would like to move relative to current heading (so 0 is in front, 256
behind)

Exported to Lua as well
2018-03-06 23:03:55 -05:00
Michael Cook (mackal)
a32dedeb48 Fix issue with heading being incorrectly handled
So we've been doing heading wrong all these years. You will need to run
a script to fix your quests and required SQL to fix DB.

This fixes a ton of random issues with headings and as gives us a better
resolution on headings :P
2018-02-15 18:20:16 -05:00
Michael Cook (mackal)
c5e4bb08f4 Implement global loot system Fixes #619
This should allow us to emulate lives global tables

The options available to filter tables are min_level, max_level, race,
rare, raid, race, class, bodytype, and zone.

race, class, bodytype, and zone are a pipe | separated list of IDs
2018-02-10 22:15:21 -05:00
Uleat
05a3c4b2b8 Implemented pass-thru for Mob::CalculateNewPosition2(...) arguments 'fixZ' and 'calcHeading' 2018-02-07 18:47:42 -05:00
Uleat
d71dbd1751 Relocated 'stop movement' code into class Mob from class Bot 2018-02-01 05:38:10 -05: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)
6ed3301110 Add some appearance Changing functions
These directly modify the values so we can script appearance on
pets/swarm pets. (Ex. Host of the Elements, some Vet AAs)

These functions are only really useful in EVENT_SPAWN since that's
before the appearance data is sent to the client and this will avoid
having to send a bunch of illusion packets.
2018-01-24 15:26:53 -05:00
Michael Cook (mackal)
e7ce79261d Add a timer to rate limit the hatelist check 2018-01-18 15:54:53 -05:00
Michael Cook (mackal)
0356c0a891 Refactor getting resist value out to a function 2017-12-23 22:35:05 -05:00
Michael Cook (mackal)
9af9deb0f5 Attempt to fix disc issue when client has no buff but server still does
This is kind of hard to test, but it is what the client is doing
2017-12-15 18:42:21 -05:00
Paul Coene
3bfa1d68f7 Merge branch 'master' of github.com:noudess/Server 2017-11-22 09:39:32 -05:00
Paul Coene
aaac2c5a84 Give weaponless NPCs best offense based on skills 2017-11-22 09:38:03 -05:00
Chris Miles
712fe1f6ec
Merge branch 'master' into master 2017-11-21 21:26:52 -06:00
Akkadius
b03e9af597 Fix issues with NPC's ghosting who path for long distances, this should wrap up the small remainder of ghosting edge cases 2017-11-21 21:25:20 -06:00
Paul Coene
5880593cb1 MoveTo while saving guard position no longer hops. 2017-11-17 13:12:26 -05:00
Michael Cook (mackal)
4e9c3e19d2 Fix some XTarget FD issues 2017-10-16 01:25:14 -04:00
Michael Cook (mackal)
414cafdbed Add OP_AddNimbusEffect 2017-10-09 00:04:43 -04:00
Michael Cook (mackal)
8400994c57 Rework regens to match modern clients 2017-10-08 00:13:53 -04:00
Akkadius
2a4d6523b1 Fix some zone entrance ghosting 2017-09-17 10:12:41 -05:00
Akkadius
6d8b96068d Add model/race offset to FixZ calc (KLS) 2017-09-17 09:55:42 -05:00
Michael Cook (mackal)
7b4c130e0a Switch local saved "animation" to signed
This variable is really the SpeedRun but packed as an int ...
2017-09-03 15:02:36 -04:00
Akkadius
808654743c [Position Updates] Bulk updates when player has moved far enough - eliminates client ghosting on rez/gates/summon as well as npc ghosting 2017-08-22 02:13:56 -05:00
Paul Coene
3554211233 Merge remote-tracking branch 'upstream/master' 2017-07-31 09:22:15 -04:00
Paul Coene
0fc72875b2 Modify roam boxes to correctly modify and use destination Z 2017-07-31 09:21:49 -04:00
Michael Cook (mackal)
7d5089f5e8 Call RemoveAura now instead of Depop when we need to 2017-07-20 13:24:55 -04:00
Michael Cook (mackal)
f97693f8e1 Work on spawn filtering 2017-07-19 14:52:04 -04:00
Michael Cook (mackal)
fe8c55ac63 Auras now zone 2017-07-18 17:52:39 -04:00
Michael Cook (mackal)
f917a38e1a Fix a few things with auras 2017-07-17 19:35:00 -04:00
Michael Cook (mackal)
6fcd39b4f8 Merge branch 'master' into auras 2017-07-16 01:14:53 -04:00
Akkadius
70a74d6615 Fix for mobs who are hailed while moving - this allows them to properly stop, and return on their grid after pause time 2017-07-15 23:57:08 -05:00
Michael Cook (mackal)
92031bbd70 Add remove aura functions 2017-07-15 23:10:25 -04:00
Michael Cook (mackal)
e05a45f6c7 Merge branch 'master' into auras 2017-07-14 23:14:13 -04:00
Akkadius
43204e52f8 Client position updates should be smoother (granted the client has a good connection)
Clients should also no longer randomly disappear
2017-07-14 20:49:57 -05:00
Michael Cook (mackal)
6580aad173 Merge branch 'master' into auras 2017-07-14 15:52:36 -04:00
Akkadius
5c75a68715 HP Update tuning - HP Updates are now forced when a client is targeted 2017-07-14 14:23:35 -05:00
Michael Cook (mackal)
94038ebb75 WIP on auras
Lots to do still

Normal buffing auras currently work for the most part
2017-07-14 02:05:35 -04:00
Akkadius
855796448c Raid/Group/XTarget HP/Mana/Endurance updates now only send when percentage changes
Raid/Group Mana/Endurance updates should now update real-time once again
Fixed an issue with clients looking like they are 'skipping' when they are moving in view of another client
Fixed an issue with NPC's who are ghosted in plain view of a client when they are not really there
2017-07-11 17:54:46 -05:00
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
ccdeb4d385 Fix HP update issues, rework logic for more accurate and responsive HP updates 2017-07-09 17:35:08 -05:00
Akkadius
127f51e758 Massive reductions in unnecessary network traffic especially during high spam combat fights
- HP Updates now only send to others when HP percentage changes (0-100%)
		- HP Updates were sending excessively even during idle zones when HP wasn't changing at all
	- Attack animations now only send once per second versus up to a hundred times a second per Mob/Client
	- 17,000 OP_ClientUpdate packets per second have been observed in combat scenarios, some of the major culprits have been
		throttled without affecting what the client should see
	- Before and After packet differences under similar load/tests (Packets per second)
		- 7,000 - 8,000 	OP_Animation pps	After: 600-800 pps
		- 13,0000 - 17,000 	OP_MobHealth pps	After: 1-10 pps
		- 15,0000 - 20,000 	OP_ClientUpdate pps	After: 500-1,000 pps
	- Packet reports from a 46 client test here:
		https://gist.github.com/Akkadius/28b7ad2fdd82bdd15ea737c68f404346
	- Servers who use Marquee HP updates will also recieve far less packet spam as they will only be sent when HP changes
2017-07-09 02:51:01 -05:00
Akkadius
c3c60b331a Resolve issues with NPC's hopping to the ceiling in small corridors
Improved grounding issues with NPC's during combat
Improved scenarios where NPC's need to be dragged out of the ground - they should correct themselves far more consistently
	- Scenarios where an NPC is coming up from the bottom floor, or from the top floor, they will correct much better
	- A video of these tests can be found here: https://www.youtube.com/watch?v=HtC7bVNM7ZQ&feature=youtu.be
2017-07-01 15:57:41 -05:00
Akkadius
1f39a0cb3e Fix some NPC and Corpse falling through the ground issues 2017-07-01 03:07:45 -05:00
Michael Cook (mackal)
cbbd01b391 Quick fix for NPC attack skill issue 2017-06-28 13:28:08 -04:00
Akkadius
539fa8b262 Fixed issues with Z correctness when NPCs are pathing on normal grids
Fixed issues with Z correctness when NPCs are engaged with players following
NPC corpses should fall into the ground far less
2017-06-28 02:38:20 -05:00
KimLS
7189994b78 Many lua things many many things 2017-05-19 22:50:08 -07:00
KimLS
4067397697 Merge branch 'master' into luamod 2017-05-15 23:18:28 -07:00
KimLS
28fd766278 Export many things 2017-05-15 15:46:19 -07:00
Michael Cook (mackal)
6e70d12b0a Add Mob::SayTo_StringID so we don't have to spam 2017-05-05 23:45:14 -04:00
Michael Cook (mackal)
d6b61b9163 Implement pet regroup
Tweaks to stop as well
2017-05-04 23:48:47 -04:00